Receiving station for CDMA wireless system and method

ABSTRACT

A communication station, such as a UE or Node B of a  3 GPP system, configured to receive channelization coded signals on physical channels of at least one composite channel within timeslots of a system time frame. The actual number of channelization codes received for the composite channel within a system time frame is determined. The transmitted channelization codes are then identified by performing a channelization code identification algorithm based on the determined number.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. parent application Ser. No. 10/417,586, filed Apr. 17, 2003, which claims priority from U.S. Provisional Application No. 60/374,018, filed Apr. 19, 2002, which are incorporated by reference herein.

FIELD OF INVENTION

The present invention relates to receiving stations for CDMA wireless communication systems and, in particular, systems which utilize sets of channelization codes in connection with the transmission of selectively sized data blocks for wireless transport of data.

BACKGROUND OF THE INVENTION

Wireless communication systems are well known in the art. Generally, such systems comprise communication stations which transmit and receive wireless communication signals between each other. Typically, base stations are provided which are capable of conducting wireless concurrent communications with a plurality of subscriber stations. In CDMA systems specified by the Third Generation Partnership Project (3GPP), base stations are called Node Bs, subscriber stations are called User Equipments (UEs) and the wireless interface between the Node Bs and UEs is known as the Uu interface. FIG. 1 illustrates a typical 3GPP CDMA system.

The Uu radio interface of a 3GPP system uses Transport Channels (TrCHs) for transfer of user data and signaling between UEs and Node Bs. In 3GPP Time Division Duplex (TDD) communications, TrCH data is conveyed by one or more physical channels defined by mutually exclusive physical resources. TrCH data is transferred in sequential groups of Transport Blocks (TBs) defined as Transport Block Sets (TBSs). Each TBS is transmitted in a given Transmission Time Interval (TTI) which may span a plurality of consecutive system time frames. A typical system time frame is 10 microseconds and TTIs are currently specified as spanning 1, 2, 4 or 8 of such time frames.

FIG. 2 a illustrates the processing of TrCHs in TTD mode into a Coded Composite TrCH (CCTrCH) and then into one or more physical channel data streams in accordance with 3GPP TS 25.222 v3.8.0. Starting with the TBS data, Cyclic Redundancy Check (CDC) bits are attached and Transport Block concatenation and Code Block segmentation is performed. Convolution coding or turbo coding is then performed, but in some instances no coding is specified. The steps after coding, include radio frame equalization, a first interleaving, radio frame segmentation and rate matching. The radio frame segmentation divides the data over the number of frames in the specified TTI. The rate matching function operates by means of bit repetition or puncturing and defines the number of bits for each processed TrCH which are thereafter multiplexed to form a CCTrCH data stream.

The processing of the CCTrCH data stream includes bit scrambling, physical channel segmentation, a second interleaving and mapping onto one or more physical channels. The number of physical channels corresponds to the physical channel segmentation. For uplink transmissions, UE to Node B, the maximum number of physical channels for transmission of a CCTrCH is currently specified as two. For downlink transmissions, Node B to UEs, the maximum number of physical channels for transmission of a CCTrCH is currently specified as sixteen. Each physical channel data stream is then spread with a channelization code and modulated for over air transmission on an assigned frequency.

In the reception/decoding of the TrCH data, the processing is essentially reversed by the receiving station. Accordingly, UE and Node B physical reception of TrCHs require knowledge of TrCH processing parameters to reconstruct the TBS data. For each TrCH, a Transport Format Set (TFS) is specified containing a predetermined number of Transport Formats (TFs). Each TF specifies a variety of dynamic parameters, including TB and TBS sizes, and a variety of semi static parameters, including TTI, coding type, coding rate, rate matching parameter and CRC length. The predefined collection of TFSs for the TrCHs of a CCTrCH for a particular frame is denoted as a Transport Format Combination (TFC).

Receiving station processing is facilitated by the transmission of a Transport Format Combination Indicator (TFCI) for a CCTrCH. For each TrCH of a particular CCTrCH, the transmitting station determines a particular TF of the TrCH's TFS which will be in effect for the TTI and identifies that TF by a Transport Format Indicator (TFI). The TFIs of all the TrCHs of the CCTrCH are combined into the TFCI. For example, if two TrCHs, TrCH1 and TrCH2, are multiplexed to form CCTrCH1, and TrCH1 has two possible TFs, TF₁0 and TF₁1, in its TFS and TrCH2 has four possible TFs, TF₂0, TF₂1, TF₂2, and TF₂3, in its TFS, valid TFCIs for CCTrCH1 could include (0,0), (0,1), (1,2) and (1,3), but not necessarily all possible combinations. Reception of (1,2) as the TFCI for CCTrCH1 informs the receiving station that TrCH1 was formatted with TF₁1 and TrCH2 was formatted with TF₂1 for the received TTI of CCTrCH1.

3GPP optionally provides for “blind transport format detection” by the receiving station, in which case the receiving station considers the potential valid TFCIs. Where there is only one valid TFCI, that TFCI is used in either case.

In 3GPP, time slot transmissions are made in predefined bursts where the transmitted physical channel data is divided into a beginning time slot portion and an ending time slot portion. A selected midamble is included between the two physical channel data portions. The TFCI is currently specified as transmitted in two parts on either side of the midamble and also between the two physical channel data portions. Two examples from 3GPP TR 25.944 V3.5.0 are illustrated in FIGS. 2 b and 2 c respectively where the block labeled MA represents the midamble and the block labeled T represents the parts of the TFCI. In second example, FIG. 2 c, the CCTrCH is mapped to two physical, but only one physical channel includes the TFCI.

The midamble and TFCI are initially processed and then the results can be used to process the physical channel data. There is a brief period of time between reception of a TFCI and the end of both the time slot and the time frame in which it is received which the inventor has recognized can be efficiently used for processing the TFCI.

In 3GPP TDD mode, for each radio frame and for each CCTrCH with physical channels or channelization codes allocated in the frame, the transmitter (Node B or UE) autonomously determines the number of bits, denoted N_(data), to be transmitted in the frame based on the TFC in effect for the frame. The 3GPP algorithm in accordance with TS 25.222 v4.0.0, part 4.2.7.1 is in pertinent part as follows:

-   -   Denote the number of data bits in each physical channel by         U_(p,Sp), where p refers to the sequence number 1≦p≦P_(max) of         this physical channel, and the second index Sp indicates the         spreading factor with the possible values {16, 8, 4, 2, 1},         respectively. For each physical channel, an individual minimum         spreading factor Sp_(min) is transmitted by means of the higher         layers. Then, for N_(data) one of the following values in         ascending order can be chosen:         {U_(1,S1) _(min) ,U_(1,S1) _(min) +U_(2,S2) _(min) ,U_(1,S1)         _(min) +U_(2,S2) _(min) + . . . +U_(P) _(max,) _((SP) _(max) ₎         _(min) }     -   Optionally, if indicated by higher layers for the UL the UE         shall vary the spreading factor autonomously, so that N_(data)         is one of the following values in ascending order:

$\begin{Bmatrix} {U_{1,16},\ldots\mspace{14mu},U_{1,{S\; 1_{\min}}},{U_{1,{S\; 1_{\min}}} + U_{2,16}},\ldots\mspace{14mu},{U_{1,{S\; 1_{\min}}} +}} \\ {U_{2,{S\; 2_{\min}}},\ldots\mspace{14mu},{U_{1,{S\; 1_{\min}}} + U_{2,{S\; 2_{\min}}} + \ldots +}} \\ {U_{P_{\max},16},\ldots\mspace{14mu},{U_{1,{S\; 1_{\min}}} + U_{2,{S\; 2_{\min}}} + \ldots + U_{P_{\max},{({SP}_{\max})}_{\min}}}} \end{Bmatrix}\quad$

-   -   N_(data,j) for the transport format combination j is determined         by executing the following algorithm:         SET1={N_(data) such that

$\left. {{\left( {\min\limits_{1 \leq y \leq I}\left\{ {RM}_{y} \right\}} \right) \times N_{data}} - {{PL} \times {\sum\limits_{x = 1}^{I}{{RM}_{x} \times N_{x,j}\mspace{14mu}{is}\mspace{14mu}{non}\mspace{14mu}{negative}}}}} \right\}$

-   -   N_(data,j)=min SET1

Implicit in the above is that only a subset of allocated physical channels is transmitted in the frame. The receiver (BS or UE) can exploit the knowledge of transmitted codes (whether from the signaled TFCI or blindly detected) to improve performance.

To use the signaled TFCI to determine the identity of the transmitted codes, two obvious methods can be applied:

1. upon receipt of a TFCI, the inverse of the 3GPP transmission processing algorithms described in TS 25.222 can be used to:

-   -   a. determine transport block set size after CRC(s) are appended;     -   b. determine code block number and size and number of filler         bits;     -   c. determine number of bits after coding;     -   d. determine size of frame size after equalization (before rate         matching); and     -   e. determine frame size (number of transmitted bits) after rate         matching;

in order to determine the identity of the transmitted codes, or

2. pre-compute and store along with the TFC the identity of the transmitted codes.

The first method requires that computations necessary to determine the identity of the transmitted codes be performed upon receipt of the TFCI, but before other received data in the frame is demodulated. The second method does not require the computation in real time of the identity of transmitted codes but does require storage of the identity of up to 136 transmitted codes for each of up to 1024 TFCs.

The inventor has recognized that a third, non-obvious method can be implemented which entails less processing without the need for pre-computing and storing all of the channelization codes.

SUMMARY OF THE INVENTION

In a communication station, such as a UE or Node B of a 3GPP system, where channelization coded signals are received on physical channels of at least one coded composite transport channel (CCTrCh) within timeslots of a system time frame, the actual number of channelization codes transmitted for the CCTrCh within a system time frame is determined. The transmitted channelization codes are then identified by performing a channelization code identification algorithm based on the determined number. Preferably, the identified channelization codes are stored in a code list by first ordering all channelization codes that are allocated and selecting codes in order from the code list until the calculated and stored number of transmitted codes is reached.

Typically, each transmitted CCTrCH is comprised of a selected number of Transport Channels (TrCHs). Each TrCH has a data stream arranged in a predetermined Transport Format (TF) of a Transport Format Set (TFS) of that TrCH which is in effect for a given Transmission Time Interval (TTI) of timeframes. A Transport Format Indicator (TFI) identifies the TF of the TrCH's TFS in effect for the particular TrCH. The TFIs of all the TrCHs of a CCTrCH are combined into a Transport Format Combination Indicator (TFCI) from which the formatting and channelization codes of the transmitted CCTrCH in a given TTI can be determined. The TFCI is transmitted with the corresponding CCTrCH in at least one timeslot of each TTI in which the CCTrCH is transmitted so that the communication station receives a TFCI in conjunction with a CCTrCH in a TTI.

The communication station is preferably configured so that the received TFCI is processed in background processing to determine a value Ncodes representing the number of transmitted channelization codes, The received TFCI is then processed a second time at a timeslot processing rate utilizing the determined value Ncodes to identify a list corresponding to the channelization codes of the CCTrCH in the TTI.

Preferably, a received TFCI is processed to determine a value Ncodes in background processing only if a currently valid value Ncodes has not been determined. Preferably, a received TFCI is processed to identify a list corresponding to the transmitted channelization codes at a timeslot processing rate only if a currently valid value transmitted channelization code list has not been identified. Preferably, a received TFCI is processed at a time frame processing rate to determine demodulation parameters at a time frame processing rate.

In a 3GPP system, either the CCTrCHs are transmitted by a Node B and the CCTrCHs and corresponding TFCIs are received and processed by a User Equipment (UE) or the CCTrCHs are transmitted by a User Equipment (UE) and the CCTrCHs and corresponding TFCIs are received and processed by a Node B.

In a preferred embodiment, the communication station, either a UE or a Node B of a 3GPP system, is configured to receive channelization coded signals on physical channels of at least one coded composite transport channel (CCTrCh) within timeslots of a system time frame. Each transmitted CCTrCH is comprised of a selected number of Transport Channels (TrCHs). Each TrCH has data streams arranged in a predetermined Transport Format (TF) of a Transport Format Set (TFS) of the TrCH which is in effect for a given Transmission Time Interval (TTI) of timeframes. A Transport Format Indicator (TFI) identifies the TF of the TrCH's TFS in effect for that TrCH. The TFIs of all the TrCHs of a CCTrCH are combined into a Transport Format Combination Indicator (TFCI) from which the formatting and channelization codes of the transmitted CCTrCH in a given TTI can be determined and the TFCI is transmitted with the corresponding CCTrCH in at least one timeslot of each TTI in which the CCTrCH is transmitted.

The communication station has a receiver that includes a TFCI processing component. The TFCI processing component preferably has a first section configured to process received TFCIs to produce a value representing the number of transmitted channelization codes of a corresponding CCTrCH. The TFCI processing component preferably has a second section configured to process received TFCIs using the values produced by said first section to identify a list of the transmitted channelization codes for each corresponding CCTrCH. A memory is associated with the TFCI processing component such that the first section stores the produced values representing the number of transmitted channelization codes in the memory and those values are retrieved from the memory for use by the second section.

Preferably, the first section of the TFCI processing component is configured to process received TFCIs in background processing such that at least 50 values can be produced in a given time frame and the second section is configured to process received TFCIs at a timeslot processing rate. The TFCI processing component preferably has a third section configured to process received TFCIs to produce demodulation parameters for each corresponding CCTrCH at a time frame processing rate.

Other objects and advantages will be apparent to those skilled in the art from the following detailed description.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a schematic diagram of a typical CDMA system in accordance with current 3GPP specifications.

FIG. 2 a is a processing diagram of TrCH data for a CCTrCH in accordance with 3GPP TDD specifications.

FIGS. 2 b and 2 c are diagrams of channel coding and multiplexing examples in accordance with 3GPP TDD specifications.

FIG. 3 is a block diagram of a receiving portion of a communication station made in accordance with the teachings of the present invention.

FIG. 4 is a flowchart illustrating the generation of a list of transmitted codes based on the intermediate parameter N_(codes) in accordance with the teachings of the present invention.

TABLE OF ACRONYMS

-   3GPP Third Generation Partnership Project -   BCD Blind Code Detection -   BS Base Station -   CCTrCH Coded Composite Transport Channel -   CDMA Code Division Multiple Access -   CRC Cyclic Redundancy Check -   DL Downlink (Node B to UE) -   DTX Discontinuous Transmission -   Iu Interface between UTRAN and Core Network -   Iub Interface between Node Bs and RNC -   Iur Interface between RNCs -   MUD Multi-User Detection -   Nbits Number of Bits In a Radio Frame For a TrCH -   Ncodes Number of Channelization Codes for a TTI of a CCTrCH -   Ndata Number of Bits In a Radio Frame For a CCTrCH -   Node B 3GPP Base Station -   PhCH Physical Channel -   RNC Radio Network Controller -   SUD Single User Detection -   rxTFCI received Transport Format Combination Indicator -   TB or TrBk Transport Block -   TDD Time Division Duplex -   TF Transport Format -   TFC or tfc Transport Format Combination -   TFCI Transport Format Combination Indicator -   TFI Transport Format Indicator -   TFS Transport Format Set -   TPC Transmit Power Control -   TrCH Transport Channel -   TTI Time Transmission Interval -   UE User Equipment -   UL Uplink (UE to Node B) -   UMTS Universal Mobile Telecommunications System -   UTRAN UMTS Terrestrial Radio Access Network -   Uu Interface between UEs and UTRAN Node Bs

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT(S)

A wireless communication station, such as a User Equipment (UE) or a base station, Node B, is provided for use in a CDMA communication system, such as the 3GPP system illustrated in FIG. 1. Each station includes a receiver configured to receive selectively formatted, encoded TDD wireless communication signals. Preferably, a system time frame format is established with each frame being 10 microseconds in duration with 15 time slots per time frame wherein timeslots can be used for either uplink (UL), UE to Node B, or downlink (DL), Node B to UE, communication signals during a given time period.

As described above, Transport Channels (TrCHs) are used for the transfer of user data and signaling between UEs and Node Bs. Multiple TrCHs are multiplexed into a Coded Composite TrCH (CCTrCH). The CCTrCH data stream is mapped onto one or more physical channel data streams which are encoded with channelization codes, preferably Orthogonal Variable Spreading Factor (OVSF) codes.

For each TrCH of a particular CCTrCH, the transmitting station determines a particular Transport Format (TF) of the TrCH's Transport Format Set (TFS) which will be in effect for a given Transmission Time Interval (TTI) and identifies that TF by a Transport Format Indicator (TFI). The TFIs of all the TrCHs of the CCTrCH are combined into a Transport Format Combination Indicator (TFCI) from which the formatting and channelization codes of the transmitted signals can be determined.

Referring to FIG. 3, a TFCI processing component 10 for the receiver of a communication station, such as a UE or Node B, is provided for processing received (Rx) TFCIs in a novel and efficient manner. An intermediate parameter, the number of transmitted physical channels or channelization codes, denoted Ncodes is pre-computed or computed on demand and stored with its corresponding TFC parameters. Ncodes can then be looked up per the received TFCI, so that the task to determine the identity of transmitted channelization codes is simplified. Preferably, the identity of transmitted channelization is performed by, timeslot-by-timeslot, counting the number of allocate channelization codes in the allocation order specified in 3GPP for the multiplexing of different TrCH onto one CCTrCH and mapping of one CCTrCH onto physical channels until Ncodes is reached, and declaring that channelization codes in allocation order up to and including Ncodes were transmitted and that all other channelization codes were not transmitted.

The TFCI processing component 10 includes a background processing section 10 a, a time slot rate processing section 10 b and a frame rate processing section 10 c. An input 20 provides the TFCI processing component 10 with decoded TFCIs of the received CCTrCHs. The TFCI processing component 10 processes the received TFCI in the background, at the end of each timeslot and again at the end of each time frame.

The background processing segment 10 a determines the intermediate parameter of the number of channelization codes, Ncodes, in use for each CCTrCH received in each TTI. The time slot rate processing section 10 b then provides fast TFCI processing to produce the list of the channelization codes using the Ncodes parameter determined in the background section 10 a. The frame rate processing section 10 c determines the TrCH parameters and rate matching parameters of each TrCH of each received CCTrCH based on the TFCIs in a conventional manner, that are used for demapping and demodulation of the CCTrCHs and their associated TrCHs. FIG. 3 depicts these functions for one CCTrCH. Preferably, these functions are applied to all CCTrCHs.

An associated memory device 40 is provided wherein TFC data is stored that is used in connection with controlling the operation of the TFCI processing component 10. The data stored in the memory device 40 includes values for the novel parameter Ncodes which is computed by the processing component section 10 a along with a flag NcodesValid which indicates whether or not Ncodes has been computed for a particular TFCI for a particular TTI.

Preferably the inputs for the processing component 10 includes a data input 20 for the received TFCI for all CCTrCHs which may be designated as rxTFCI[maxCCTrCH] and a control input 22 for TFC related parameters. The TFC control signals received via the control input 22 preferably include:

the number of codes transmitted per frame, per TFCI, per CCTrCH which may be designated as Ncodes[1024, maxCCTrCH],

a flag which is set if the Ncodes value has been computed, per TFCI, which may be designated as NcodesValid[1024, maxCCTrCH],

TFCS parameters, per TrCH_(i), per CCTrCH, as function of current TFCI including:

-   -   Rate Matching Factor     -   Coding Method     -   Coding Rate     -   L_(i), CRC Length

TFCS parameters, indexed by TFCI, per TrCH per CCTrCH including:

-   -   Transport Block Set Size_(i)     -   Transport Block Size_(i)     -   TTI_(i)

A second control input 24 provides Physical Channel Map control signals, preferably of length 240 (15 timeslots, 16 codes), of the form:

pcmCodeNumber[240], code number;

pcmTimeslot[240], timeslot of this code;

pcmMinSF[240], minimum spreading factor of this code;

pcmCCTrCH[240], CCTrCH number of this code;

pcmTFCI[240], set if this code contains a TFCI;

burstType[15], burst type of each of the 15 timeslots;

TFCI Format & Map, indicated locations of TFCI bits and length of the TFCI fields;

puncLimit, the puncturing limit; and

timeslotNumber, the current timeslot;

where pcmTFCI[240] is the first code number in the timeslot, in the index order of this list.

The output of the TFCI processing component 10 is time dependent due to its three different processing sections. When invoked in the background, an output 30 a of processing section 10 a provides data output in the form of:

the number of codes transmitted per frame for this TFCI and CCTrCH, Ncodes[TFCI], and

a signal to set the flag indicating that Ncodes for the TFCI of a CCTrCH has been computed, NcodesValid[TFCI].

When invoked to process the fast TFCI, an output 32 of processing section 10 b provides data output in the form of a table of transmitted codes and indicators for all CCTrCHs, as determined by the received TFCI, preferably designated tfcCodeTable[maxCCTrCH] and including:

a list of transmitted codes in the current frame (14 timeslots×16 codes maximum), tfcCodeList[224]; and

a flag that is set if the txCodeList contains valid data, tfcCodeListValid.

When invoked after a frame has been received, three outputs 30 b, 35 and 37 of processing section 10 c provide data output in the form of:

the number of bits per frame per CCTrCH after rate matching, N_(data), from output 30 b;

the number of bits per frame after frame size equalization and before rate matching, for TrCH_(i), N, or Nbits_(i), from output 35; and

from output 37, TrCH and Rate Matching parameters, where the TrCH parameters are preferably of the form:

-   -   X1_(i), number of bits for all concatenated transport blocks         after CRC insertion, for TrCH_(i);     -   C_(i), number of code blocks, for TrCH_(i);     -   Y1_(i), number of code block filler bits, for TrCH_(i);     -   K_(i), number of bits per code block, before channel coding, for         TrCH_(i);     -   Y2_(i), number of bits per code block, after channel coding, for         TrCH_(i);     -   E_(i), number of bits per TTI before frame size equalization,         for TrCH_(i); and     -   T_(i), number of bits per TTI after frame size equalization, for         TrCH_(i);         and the Rate matching parameters are preferably of the form:     -   e_ini_(i,f,b), initial value of e, the rate-matching counter,         for frame, sequence b, for TrCH_(i);     -   e_plus_(i,b), increment value of e, the rate-matching counter,         sequence b, for TrCH_(i);     -   e_minus_(i,b), decrement value of e, the rate-matching counter,         sequence b, for TrCH_(i);     -   X_(i,b), number of bits before rate matching, sequence b, for         TrCH_(i); and     -   nMod3_(i), number of first and/or second parity turbo coded bits         in the first sequence, for TrCH_(i).

Preferably, the TFCI processing component is configured based upon two overall operating parameters: the number of received (Rx) CCTrCHs and the background processing capacity for computing Ncodes values. The maximum number of Rx CCTrCHs, which may be designated as maxCCTrCH, is preferably set at 4 for UEs and 96 in Node Bs. Preferably, the processing section 10 a can compute at least 50 Ncodes values in the background, 50 per frame. These preferred values are based upon current 3GPP specifications and can be adjusted when various system operating parameters are changed.

The background processing section 10 a includes three processing elements, Ncodes Computation Control 12, TrCH Parameter Determination processing 14 and Partial Discontinuous Transmission (DTX) processing where there is no Dynamic Spreading Factor 16. The latter two processing elements 14, 16 are preferably of conventional design used for preprocessing TFCS control signal based on a particular TFCI to provide required inputs for Rate Matching Parameter processing and accordingly are preferably configured for operation in the Frame Rate processing section 10 c as well.

The Ncodes Computation Control 12 includes the rxTFCI input 20 as data and a modified TFC control input 22 a which provides the flag signal NcodesValid associated with the particular rxTFCI received via input 20. This processing element 12 controls the computation of Ncodes, for each CCTrCH. For each received TFCI value, if Ncodes has not yet been computed for that TFCI value, i.e. NcodesValid for the TFCI of the CCTrCH is FALSE, Ncodes is computed such that it is available at the start of the next frame. Accordingly the operation of the processing section 10 a is preferably controlled such that background processing, i.e. using any available computational resource at no particular time, is used to compute Ncodes:

for all TFCIs of all CCTrCHs until all have been computed;

for the affected TFCI(s) of the CCTrCH when the PhCH associated with the CCTrCH is assigned, configured or reconfigured; and

for the affected TFCI(s) of the CCTrCH assigned to a PhCH when the CCTrCH is assigned, configured or reconfigured.

Preferably sufficient resources are available so that at least 50 Ncodes values may be computed in a given frame and so that Ncodes for a newly received TFCI is computed by the start of the next frame.

The Ncodes Computation Control 12 includes an output 31 which is passed as data to the downstream processing elements 14 and 16 of processing section 10 a. The output 31 passes the TFCI and CCTrCH which may be designated as TFCI/CCTrCH, which represent a rxTFCI for which Ncodes needs to be computed. This function operates whenever a TFCI is received and in the background.

The TrCH Parameters Determination element 14 is of conventional design and computes parameters for various TrCH demodulation functions and Nbits, the number of bits before rate matching per TrCH. This function is called in the background section 10 a as part of the Ncodes. It is also called after a frame has been received in the frame rate processing section 10 c such that the block set of the TTI containing the frame can be reconstructed. When invoked as part of the Ncodes computation, the various TrCH parameters are used only as intermediate variables to compute Nbits.

The TrCH Parameters Determination element 14 receives as an input the output 31 from the Ncodes Computation Control which invokes its modified processing functions in the background processing section 10 a. After reception of a time frame is completed, the TrCH Parameters Determination element 14 receives as an input the rxTFCI input 20 which invokes its full processing functions in the frame rate processing section 10 c. In both cases, the TrCH Parameters Determination element 14 utilizes a modified TFC control input 22 b which provides all of the TFC related control signals except the flag signal NcodesValid and Ncodes which are not necessary to its operation.

Full operation of the TrCH Parameters Determination element 14 includes a TFCI Validity Check which is not required for background processing. If the received TFCI does not correspond to a valid TFCI of the TFCS, the TFCI of the CCTrCH from the previous frame is used instead. If this is not available, the lowest non-zero valued valid TFCI is used instead.

The TrCH Parameters Determination element 14 computes a variety of parameters. CRC Parameters are determined based on the knowledge that:

each of the Transport Block Set Size_(i) transport blocks of size Transport Block Size_(i) has a CRC of length L_(i) appended, where L_(i) is {0,8,16,24} bits; and,

the total number of bits after CRC insertion, X1_(i), is: X1_(i)=Transport Block Set Size_(i)*(Transport Block Size_(i) +L _(i))

Channel Decoding Parameters are determined by knowing that the channel coding function operates on blocks up to the following size, denoted Z:

Convolutional coding: Z=504 bits

Turbo coding: Z=5114 bits.

For the case of the total number of bits after CRC insertion, X1_(i), is greater than Z, the data is partitioned into C_(i) code blocks of length K_(i) each and each code block is channel coded separately. Filler bits are added as required to the start of the first block such that all blocks are of equal length and for the unique case of turbo coded data of length less than 40, to the start of the single block. The number of code blocks, C_(i) is: C_(i)=┌X1_(i)/Z_(i)┐. The number of bits in each code block, K_(i), is K_(i)=40 if X1_(i)<40 and turbo coding is used or else K_(i)=┌X1_(i)/C_(i)┐. The number of filler bits in the first code block, Y1_(i), is: Y1_(i)=C_(i)K_(i)−X1_(i)

For the case of no coding, the number of code blocks, C_(i), is simply 1 and the length of the code block is simply K_(i). The number of bits per code block after coding, Y2_(i), is:

convolutional coding with rate 1/2: Y2_(i)=2*K_(i)+16

convolutional coding with rate 1/3: Y2_(i)=3*K_(i)+24

turbo coding with rate 1/3: Y2_(i)=3*K_(i)+12

no coding: Y2_(i)=K_(i)

Interframe Interleaving Parameters are determined based on the knowledge that the total number of bits from all C_(i) code blocks after channel coding, E_(i), is: E_(i)=C_(i)*Y2_(i). The interframe interleaver consists of an array of F_(i) columns and N_(i), rows (the number of bits in each column), where: N_(i)=┌E_(i)/F_(i)┐. Filler bits are appended to the end of the E_(i) bits, such that all columns of the array contain data. After appending the bits, the total number of bits for the TTI, T_(i), is: T_(i)=E_(i)*N_(i). Filler Bits are determined based on the knowledge that the number of filler bits is: T_(i)−E_(i).

These parameters are used to compute the number of bits per TrCH_(i) per frame before rate matching, Nbits_(i)=N_(i). An output 34 provides N_(i), or Nbits_(i), the number of bits per frame after frame size equalization and before rate matching, for TrCH_(i) to the Partial Discontinuous Transmission (DTX) processing element 16 and, in the case of frame rate processing in section 10 c, also to the Rate Matching Determination element 18.

An additional output 35 of the TrCH Parameters Determination element 14 is provided for all of the determined parameters from the frame rate processing in section 10 c such that the block set of the TTI containing the frame can be reconstructed. Preferably, from this output 35, TrCH parameters are provided of the form:

X1_(i), number of bits for all concatenated transport blocks after CRC insertion, for TrCH_(i).

C_(i), number of code blocks, for TrCH_(i).

Y1_(i), number of code block filler bits, for TrCH_(i).

K_(i), number of bits per code block, before channel coding, for TrCH_(i).

Y2_(i), number of bits per code block, after channel coding, for TrCH_(i).

E_(i), number of bits per TTI before frame size equalization, for TrCH_(i).

T_(i), number of bits per TTI after frame size equalization, for TrCH_(i).

The per-TTI parameters need be computed only once per TTI, not for every frame of the TTI. Also there are generally no floating/fixed point or performance issues.

The Partial DTX processing element 16 is of conventional design and computes the codes transmitted based on the number of bits per TrCH before rate matching and physical channel data. This element 16 is called in the background section 10 a to perform in a modified mode as part of the Ncodes computation. It is also called after a frame has been received in the frame rate processing section 10 c for its full functions to provide an output such that Physical Channel De-mapping knows which codes were transmitted and to determine the number of bits transmitted in a frame.

The Partial DTX processing element 16 receives as an input the output 31 from the Ncodes Computation Control which invokes its modified processing functions in the background processing section 10 a. After reception of a time frame is completed, the Partial DTX processing element 16 receives as an input the rxTFCI input 20 and invokes its full processing functions in the frame rate processing section 10 c. In both cases, the Partial DTX processing element 16 receives as an input the output 34 from the TrCH Parameters Determination element 14, the physical channel control input 24 and utilizes the modified TFC control input 22 b which provides all of the TFC related control signals except the flag signal NcodesValid and Ncodes which are not necessary to its operation.

The Partial DTX processing element 16 has in its modified operation in the background processing section 10 a provides the output 30 a which produces an Ncodes value and set the associated flag NcodeValid. In its conventional full operational mode in the frame rate processing section 10 c, the Partial DTX processing element 16 has an output 30 b which produces values representing the number of bits per frame per CCTrCH, denoted N_(data), which is used for the determination of rate matching parameters.

Although the Partial DTX processing element 16 functions in a receiver of a communication station, it is conveniently described in terms of its opposite transmitter function, e.g., the meaning of “before” and “after” are with respect to the transmitter functions. N_(data), the number of bits per frame per CCTrCH, i.e. for all TrCH_(i), after rate matching, and Sp, the spreading factor of the p^(th) physical channel assigned to the CCTrCH are determined from the following:

-   -   Denote the number of data bits, which is a function of burst         type, (not including TFCI or TPC bits, the number of which are         found from TFCI Format and Physical Channel Map) in each code by         U_(p,Sp). p refers to the sequence number 1≦p≦Pmax of this         physical channel as follows: in ascending order of the timeslots         in which they appear; if more than one physical channel appears         in a timeslot, they shall be allocated the sequence number in         order of the timeslot first and then of their channelization         codes; the channelization codes shall be ordered in ascending         order of the minimum spreading Factor and then channelization         index (k). The second index Sp indicates the spreading factor         with the possible values {16, 1}, respectively. For each code an         individual minimum spreading factor Sp_(min) is included in the         physical channel map. Then, for N_(data) one of the following         values in ascending order and the identification from the set of         allocated codes which codes are transmitted are determined from:         {U_(1,S1) _(min) ,U_(1,S1) _(min) +U_(2,S2) _(min) ,U_(1,S1)         _(min) +U_(2,S2) _(min) + . . . +U_(P) _(max) _(,(SP) _(max) ₎         _(min) }  (1)     -   Ndata SET1 ={ Ndata such that

$\left. {{\left( {\min\limits_{1 \leq y \leq I}\left\{ {RM}_{y} \right\}} \right) \times N_{data}} - {{puncLimit} \times {\sum\limits_{x = 1}^{I}{{RM}_{x} \times N_{x}\mspace{14mu}{is}\mspace{14mu}{non}\mspace{14mu}{negative}}}}} \right\}$

-   -   N_(data)=min SET1         Ncodes is the number of channelization codes within SET1 so this         value is determined and output when then operating in the         modified mode in background processing section 10 a. There are         generally no floating/fixed point or performance issues.

In its conventional full operational mode in the frame rate processing section 10 c, the N_(data) output 30 b of the Partial DTX processing element 16 provides a required input for a Rate Matching Parameter Determination element 18. The Rate Matching Parameter Determination element 18 operates in a conventional manner to determine the initial, increment and decrement values used by the counters of the rate matching puncture/repeat data algorithm. Preferably, this includes ΔN_(i), the number of bits added due to repetition or deleted due to puncturing per frame for TrCH_(i) that is determined from the following:

Z₀ = 0 $Z_{i} = \left\lfloor \frac{\left( {\left( {\sum\limits_{m = 1}^{i}{{RM}_{m} \times N_{m}}} \right) \times N_{data}} \right)}{\sum\limits_{m = 1}^{I}{{RM}_{m} \times N_{m}}} \right\rfloor$ Δ N_(i) = Z_(i) − Z_(i − 1) − N_(i)

For all uncoded and convolutionally coded and repeated turbo coded TrCHs the additional parameters:

-   -   e_ini_(i,f,1), the initial value of e, the rate matching         counter, for frame f, sequence 1,     -   e_plus_(i,1), the increment value of e, the rate matching         counter, sequence 0, and     -   e_minus_(i,1), the decrement value of e, the rate matching         counter, sequence b=0, for TrCH_(i),         are determined by the Rate Matching Parameter Determination         element 18 from the following:     -   a=2;     -   X_(i)=N_(i,j);     -   R=ΔN_(i,j) mod N_(i,j);     -   where ΔN_(i,j) mod N_(i,j) is in the range of 0 to N_(i,j)−1         i.e. −1 mod 10=9 and

if R≠0 and 2×R≦N_(i,j), then q=┌N_(i,j)/R┐ otherwise q=┌N_(i)/(R−N_(i))┐

-   -   where q is a signed quantity such that if q is even         q′=q+gcd(|q|, F_(i))|F_(i)         -   where gcd (|q|, F_(i)) means greatest common divisor of |q|             and F_(i) and q′ is not an integer, but a multiple of 1/8,     -   otherwise q′=q; and     -   S[|└x×q′┘ mod F_(i)]=(|└x×q′┘| div F_(i)) for x=0 to F_(i)−1;         so that:     -   e_ini_(i,f,1)=(a×S[P1_(Fi)(f)]×|ΔN_(i)|+1) mod (a'N_(i));     -   e_plus_(i,1)=a×X_(i);     -   e_minus_(i,1)=a×|ΔN_(i)|; and     -   e_ini_(i,f,b), e_plus_(i,b), e_minus_(i,b), for b=0; b=1,2 are         unused

For punctured turbo coded TrCHs, e_ini_(i,f,b), the initial value of e, the rate matching counter, for frame f, sequence b, e_plus_(i,b), the increment value of e, the rate matching counter, sequence b, and e_minus_(i,b), the decrement value of e, the rate matching counter, sequence b, for TrCH_(i), where index b is used to indicate systematic (b=0), 1^(st) parity (b=1), and 2nd parity bit (b=2), and nMod3i, number of first and/or second parity turbo coded bits in the first sequence, for TrCH_(i)., are preferably determined by the Rate Matching Parameter Determination element 18 from the following.

for b=0: e_ini_(i,f,b=1) = 1 (or any positive integer) for all f; e_plus_(i,b=1) = 0 (not used); e_minus_(i,b) = 0; and nMod3i = N_(i) mod 3; for b={1,2}: ${{\Delta\; N_{i}} = \begin{Bmatrix} {\left\lfloor {\Delta\;{N_{i}/2}} \right\rfloor,} & {b = 1} \\ {\left\lceil {\Delta\;{N_{i}/2}} \right\rceil,} & {b = 2} \end{Bmatrix}};$ X_(i) = ⌊N_(i)/3⌋; q = ⌊X_(i)/ΔN_(i)⌋ where if(q≦2), S[(3×r+b−1) mod F_(i)] = r mod 2 for r =0 to F_(i)−1 otherwise if q is even, q′ = q − gcd(q, F_(i)) / F_(i) where gcd (q, F_(i)) means greatest common divisor of q and F_(i) and q′ is not an integer, but a multiple of ⅛, otherwise q′ = q; and r=┌x×q′┐ mod F_(i) and S[(3×r+b−1) mod F_(i)]=┌x×q′┐ div F_(i); for x=0 to F_(i)−1; such that: e_ini_(i,f,b) = (b×S[P1 F_(i) (f)]×· |ΔN_(i)| + X_(i)) mod (b×X_(i)) where if e_ini_(i,f,b) = 0, e_ini_(i,f,b) = b×X_(i); e_plus_(i,b) = b×X_(i); and e_minus_(i,b) = b× |ΔN_(i)|.

Additional parameters that are determined by the Rate Matching Parameter Determination element 18 include: α_(i,b), the TTI dependent offset for bit separation for a sequence b, and β_(i,f), the frame dependent offset for bit separation for a frame f, for TrCH_(i), are given by:

α_(i,b), the TTI dependent offset needed for bit separation

TTI (ms) α0 α1 α2 10, 40 0 1 2 20, 80 0 2 1

β_(i,f), the Radio frame dependent offset needed for bit separation

TTI (ms) β0 β1 β2 β3 β4 β5 β6 β7 10 0 NA NA NA NA NA NA NA 20 0 1 NA NA NA NA NA NA 40 0 1 2 0 NA NA NA NA 80 0 1 2 0 1 2 0 1

A further parameter that is determined by the Rate Matching Parameter Determination element 18 is X2_(i), the number of bits per sequence after bit separation. For a TrCH_(i), this is given by X2_(i),=floor(N_(i)/3).

In addition to the N_(data) input 30 b from the Partial DTX processing element 16, the Rate Matching Parameter Determination element 18 receives as inputs the rxTFCI input 20, the N_(i) output 34 from the TrCH Parameters element 14 and the modified TFC control input 22 b which provides all of the TFC related control signals except the flag signal NcodesValid and Ncodes which are not necessary to its operation.

The Rate Matching Parameter Determination element 18 provides via an the output rate matching parameters, of the form:

-   -   e_ini_(i,f,b), initial value of e, the rate-matching counter,         for frame f, sequence b, for TrCH_(i).     -   e_plus_(i,b), increment value of e, the rate-matching counter,         sequence b, for TrCH_(i).     -   e_minus_(i,b), decrement value of e, the rate-matching counter,         sequence b, for TrCH_(i).     -   X_(i,b), number of bits before rate matching, sequence b, for         TrCH_(i), and     -   nMod3_(i), number of first and/or second parity turbo coded bits         in the first sequence, for TrCH_(i).         These parameters are produced at the frame rate. Also, there are         generally no floating/fixed point or performance issues.

The time slot rate processing section 10 b provides fast TFCI processing to produce the list of the channelization codes by means of a Fast TFCI processing element 13. The Fast TFCI processing element 13 uses the rxTFCI as data and the previously computed values of Ncodes and other TFC parameters as control signals via inputs 20 and 22 respectively, to determine a list of transmitted codes of all CCTrCHs in the current frame. The Fast TFCI processing element 13 also includes the control Physical Channel Map input 24 and a timeslot number control input 25 since it operates per timeslot.

The list of transmitted codes for each CCTrCH, denoted CodeList, and an associated flag, preferably denoted CodeList Valid, is provided via output 32 preferably to Blind Code Detection (BCD) functions of a UE or Code Decision functions of a Node B, Multi-User Detection (MUD) or Single User Detection (SUD), Physical Channel Demapping and Transmit Power Control (TPC) for a UE. If either the received TFCI or Ncodes for the received TFCI of a particular CCTrCH is not available, the list remains empty for that CCTrCH.

The preferred functioning of the Fast TFCI processing element 13 is illustrated in the flow diagram of FIG. 4. The process is conducted for each CCTrCH allocated for reception in a particular time slot. An initial check is made to see if the code list for the particular CCTrCH has already been generated by checking the flag CodeListValid which is set when a code list is generated. This flag is preferably cleared at the beginning of each new TTI for a CCTrCH.

If the CCTrCH has not already been processed, the rxTFCI is checked to determine if it is decoded. If the rxTFCI of a CCTrCH has not yet been decoded, generally it is because the selected timeslot is the first timeslot in the frame of the CCTrCH. In that case, no processing of the fast TFCI is possible and no code list is output for the CCTrCH. If the rxTFCI has been decoded, a further check is conducted against the control TFC parameters to ascertain that the TFCI is a valid defined value for the TFCS of the particular CCTrCH. If not, no code list is output for the CCTrCH.

If the received TFCI of a CCTrCH has been decoded and is valid, the computed number of codes transmitted in the frame, Ncodes, is then looked up. If the number of transmitted codes of the CCTrCH, Ncodes, has already been computed, the CodeListValid flag is set for that CCTrCH and the transmitted channelization codes in the current frame are determined and output. If the number of transmitted codes has not yet been computed, no code list is output for the CCTrCH.

The list of transmitted channelization codes in the current frame for a CCTrCH is preferably determined by ordering the allocated codes of the CCTrCH first by ascending timeslot number and then by code index within each timeslot. For each code of the CCTrCH, if its order within the ordered list (ordinal number) is less than or equal to Ncodes, the channelization code is added to the transmitted code list. The processing of the channelization codes to form the code list can be stopped as soon as the channelization code is added that has an ordinal index number equal to the value of Ncodes for the CCTrCH being processed.

Once the transmitted list for a CCTrCH in a given frame has been determined, it remains fixed for the remainder of the frame. This is implemented by the initial check of the CodeListValid flag of the Fast TFCI processing element 13 as discussed above. Preferably, it is required that the transmitted code list is determined in time for use by the MUD to demodulate the next timeslot. There are generally no floating/fixed point issues.

Although the above invention has been described with reference to specific preferred parameters and implementation processes and components, it is not intended to be limited to only the preferred embodiment. Other variations will be apparent to the skilled artisan which are within the scope of the present invention. 

What is claimed is:
 1. A communication station for a wireless communication system wherein coded signals are received via physical channels of a composite channel within timeslots of a system time frame, the communication station comprising: an initial signal processing circuit configured to determine a number of coded signals received for the composite channel within a system time frame; and a second circuit configured to identify the coded signals by performing a code identification algorithm based on the determined number of coded signals received for the composite channel within the system time frame.
 2. The communication station of claim 1 wherein the second circuit includes a memory device configured to store the identified codes for the coded signals in a code list by defining an order of possible allocable codes and adding codes to the code list up to and including the determined number, based on the defined order.
 3. The communication station of claim 1 where the composite channel is comprised of a selected number of Transport Channels (TrCHs), each TrCH having a data streams arranged in a predetermined Transport Format (TF) of a Transport Format Set (TFS) of that TrCH which is in effect for a given Transmission Time Interval (TTI) of timeframes and a Transport Format Indicator (TFI) that identifies the TF of the TrCH's TFS in effect for that TrCH, the TFIs of all the TrCHs of the composite channel being combined into a Transport Format Combination Indicator (TFCI) from which the formatting and codes of the coded signals received in the composite channel in a given TTI can be determined and where the TFCI is received in conjunction with the composite channel in at least a first timeslot of each TTI in which the composite channel is received, wherein: the initial signal processing circuit is configured to process a received TFCI to determine a value Ncodes representing the determined number of coded signals; and the second circuit is configured to process the received TFCI a second time utilizing the determined value Ncodes to produce a list corresponding to the codes of the coded signals transmitted in the composite channel in the TTI.
 4. The communication station of claim 3 wherein the second circuit includes a memory device configured to store the identified codes for the coded signals in a code list by defining an order of possible allocable codes and adding codes to the code list up to and including the determined number, based on the defined order.
 5. The communication station of claim 3 wherein the initial signal processing circuit is configured to operate at a background processing rate and the second circuit is configured to operate at a timeslot processing rate.
 6. The communication station of claim 5 further including a third circuit configured to process the received TFCI a third time to determine demodulation parameters that is configured to operate at a time frame processing rate.
 7. The communication station of claim 6 wherein the second circuit includes a memory device configured to store the identified codes for the coded signals in a code list by defining an order of possible allocable codes and adding codes to the code list up to and including the determined number, based on the defined order.
 8. The communication station of claim 1 configured as a User Equipment (UE) for a 3GPP system.
 9. The communication station of claim 1 configured as a Node B for a 3GPP system.
 10. The communication station of claim 3 configured as a User Equipment (UE) for a 3GPP system.
 11. The communication station of claim 3 configured as a Node B for a 3GPP system.
 12. A method for a communication system wherein coded signals are received on physical channels of a composite channel within timeslots of a system time frame comprising: determining a number of coded signals received for the composite channel within a system time frame; and identifying the coded signals by performing a code identification algorithm based on the determined number.
 13. The method of claim 12 where the identified codes of the coded signals are stored in a code list by first defining an order of possible allocable codes and the adding each code, up to and including the determined number, to the code list based on the defined order.
 14. The method of claim 12 where the composite channel is comprised of a selected number of Transport Channels (TrCHs), each TrCH having a data streams arranged in a predetermined Transport Format (TF) of a Transport Format Set (TFS) of that TrCH which is in effect for a given Transmission Time Interval (TTI) of timeframes and a Transport Format Indicator (TFI) that identifies the TF of the TrCH's TFS in effect for that TrCH, the TFIs of all the TrCHs of a CCTrCH being combined into a Transport Format Combination Indicator (TFCI) from which the formatting and codes of the coded signals received in the composite channel in a given TTI can be determined and where the TFCI is received in conjunction with the composite channel in at least a first timeslot of each TTI in which the composite channel is received, wherein: the received TFCI is processed first to determine a value Ncodes representing the determined number of codes; and the received TFCI is processed a second time utilizing the determined value Ncodes to produce a list corresponding to the codes of the coded signals transmitted in the composite channel in the TTI.
 15. The method of claim 14 where the identified codes of the coded signals are stored in a code list by first defining an order of possible allocable codes and the adding each code, up to and including the determined number, to the code list based on the defined order.
 16. The method of claim 14 wherein the received TFCI is processed first to determine a value Ncodes in background processing and is processed the second time at a timeslot processing rate.
 17. The method of claim 16 wherein the received TFCI is processed a third time to determine demodulation parameters at a time frame processing rate.
 18. The method of claim 17 where the identified codes of the coded signals are stored in a code list by first defining an order of possible allocable codes and the adding each code, up to and including the determined number, to the code list based on the defined order.
 19. The method of claim 14 wherein TFCIs and corresponding CCTrCHs are received and processed by a User Equipment (UE) in a 3GPP system.
 20. The method of claim 14 wherein TFCIs and corresponding CCTrCHs are received and processed by a Node B in a 3GPP system. 